A Memory Allocation Profiler for C and Lisp Programs
نویسندگان
چکیده
This paper describes mprof, a tool used to study the dynamic memory allocation behavior of programs. Mprof records the amount of memory that a function allocates, breaks down allocation information by type and size, and displays a program’s dynamic call graph so that functions indirectly responsible for memory allocation are easy to identify. Mprof is a two-phase tool. The monitor phase is linked into executing programs and records information each time memory is allocated. The display phase reduces the data generated by the monitor and presents the information to a user in several tables. Mprof has been implemented for C and Kyoto Common Lisp. Measurements of these implementations are presented.
منابع مشابه
Importing the Gnu Multiple Precision Package (GMP) into Lisp, and implications for Functional Programming
Advocating the use of a Common Lisp as a central organizing environment for building scientific computing systems runs counter to the conventional wisdom, which suggests that languages like Fortran, C++, or even Java, are more suitable. We prefer Lisp based on its debugging features, interactivity, memory model, existing code-base for computer algebra and user interfaces, and for purposes of th...
متن کاملProfBuilder: A Package for Rapidly Building Java Execution Profilers
ProfBuilder is a collection of Java classes that provide an easy method for constructing Java execution profiling tools. By instrumenting Java bytecode, a programmer can measure dynamic properties of an application, such as bytecode count, number of memory allocations, cache misses and branches. ProfBuilder provides an easy way to create customized tools to measure these and other properties by...
متن کاملLisp as an Alternative to Java Point of View
21 In a recent study Prechelt (1999) compared the relative performance of Java and C++ in execution time and memory usage. Unlike many benchmark studies, Prechelt compared multiple implementations of the same task by multiple programmers in order to control for the effects of differences in programmer skill. Prechelt concluded that “as of JDK 1.2, Java programs are typically much slower than pr...
متن کاملPortable Profiling of Memory Allocation in Java
This paper presents a portable framework to profile memory allocation in standard Java Virtual Machines. We extended our exact profiler JP, which generates a method call tree (MCT) for each thread in the system, in order to store information concerning object allocation in the MCT. Our primary design goals were to use platform-independent metrics for memory allocation and to minimize the extra ...
متن کاملMoji-Lisp: programming with a text-based memory model
Moji-Lisp is a new programming language that uses text for memory, programs and heaps. It shows how textual properties can represent levels of computation in a way that users can interact with directly. Moji-Lisp demonstrates principles of visibility that can make programming systems easier to understand and extend. Keywords— Visibility, Programming Language
متن کامل